import pandas
import os


class Get_Data(object):
    def __init__(self, file_name: str):
        # os.path.dirname 获取当前文件路径的目录 相当于cd..
        data_path = os.path.dirname(os.path.dirname(__file__)) + '/Data/'
        # 拼接文件路径
        self.path = data_path + file_name

        # 通过用户输入的文件后缀判断应该用什么方法来读取数据
        if file_name.endswith('.csv'):
            self.table = pandas.read_csv(self.path,keep_default_na=False)
        elif file_name.endswith('.xls') or file_name.endswith('.xlsx'):
            self.table = pandas.read_excel(self.path,keep_default_na=False)

        else:
            print('输入的文件名有误,后缀应该为.csv或者.xls或者.xlsx')
            self.table = None

    def get_table_list(self):
        if self.table is not None:
            return self.table.values.tolist()
        else:
            print('不存在文件')

    def get_table_dict(self):
        if self.table is not None:
            return [self.table.loc[i].to_dict() for i in self.table.index.values]
        else:
            print('不存在文件')


if __name__ == '__main__':
    data1 = Get_Data('user.xlsx').get_table_dict()
    print(data1)